home *** CD-ROM | disk | FTP | other *** search
- /*
- * vaproto.h
- *
- * project: venus
- *
- * author: stefan eissing
- *
- * description: definition of the Venus <-> accessory protcol
- *
- * last change: 28.09.1990
- */
-
- #ifndef __vaproto__
- #define __vaproto__
-
- /* message numbers for the XACC protocol by Konrad Hinsen
- * Gemini supports XACC level 0. These are not needed for
- * the Venus-Acc. protocol.
- */
- #define ACC_ID 0x400
- #define ACC_OPEN 0x401
- #define ACC_CLOSE 0x402
- #define ACC_ACC 0x403
-
- /* message number for communication between Venus and accessories.
- * if file or pathnames are used in these messages you got to
- * give absolute names (including drive letter), all letters need
- * to be upper case. Pathnames always terminate with a backslash!
- *
- * messages from Venus start with VA
- * message to Venus start with AV
- *
- * AV_PROTOKOLL can be used by accessories to ask which messages
- * are supported by the main application (there are differences
- * between Gemini and Venus). It would be fine if other GEM
- * application would also support this protocol. At least,
- * AV_SENDKEY is easy to implement and very useful!
- */
-
- /* AV_PROTOKOLL: message to ask which messages are supported.
- * If you get no answer, the protocol isn't supported at all.
- */
- #define AV_PROTOKOLL 0x4700
- /*
- * Word 6+7: pointer to the name of the accessory. This name
- * has to be 8 chars long and nullterminated (like
- * it is neccessary for appl_find())
- * The meaning of the bits in the words 3, 4 and 5 is:
- * Word 3:
- * Bit 0: (VA_SETSTATUS)
- * Bit 1: (VA_START)
- * All other bits are reserved for future extension and should
- * therefore be set to zero. This is also neede for the bits
- * in word 4 and 5.
- */
-
- /* VA_PROTOSTATUS: answer to AV_PROTKOLL. Words 3 to 7 contain
- * information which features are supported. If a feature is
- * supported the according bit is set to 1.
- */
- #define VA_PROTOSTATUS 0x4701
- /*
- * Word 6+7: pointer to the name of the application (8 chars long,
- * nullterminated, like appl_find() needs it.
- * The meaning of the bits in the words 3, 4 and 5 is:
- * Word 3:
- * Bit 0 (AV_SENDKEY)
- * Bit 1 (AV_ASKFILEFONT)
- * Bit 2 (AV_ASKCONFONT, AV_OPENCONSOLE)
- * Bit 3 (AV_ASKOBJECT)
- * Bit 4 (AV_OPENWIND)
- * Bit 5 (AV_STARTPROG)
- * Bit 6 (AV_ACCWINDOPEN, AV_ACCWINDCLOSED)
- * Bit 7 (AV_STATUS, AV_GETSTATUS)
- * All other bits are reserved for future extension and should
- * therefore be set to zero. This is also neede for the bits
- * in word 4 and 5.
- *
- * AV_SENDKEY is very easy to support. Still interested? Read on.
- */
-
- /* AV_GETSTATUS: An accessory may ask for the status which it has
- * given the application via AV_STATUS.
- */
- #define AV_GETSTATUS 0x4703
-
- /* AV_STATUS: An accessory can tell the main application its status.
- * This status can be saved by the main application and restored
- * if the program is started again. An accessory may then ask with
- * AV_GETSTATUS for its status. Of course it has to knock with
- * AV_PROTOKOLL first!
- * Word 3+4: pointer to a string which contains no control
- * sequences and must not be longer than 256 chars.
- * This pointer may be NULL (0L).
- */
- #define AV_STATUS 0x4704
-
- /* VA_SETSTATUS: The main application tells the accessory its
- * saved state which was requested by AV_GETSTATUS.
- * Word 3+4: pointer to a string which contains no control
- * sequences and must not be longer than 256 chars.
- * This pointer may be NULL (0L).
- */
- #define VA_SETSTATUS 0x4705
-
- /* AV_SENDKEY: An accessory send a keyboard event to the main
- * application. If an accessory doesn't use a certain key it
- * sould inform the main application about it. (menu shortcuts
- * can be active when an accessory window it on top)
- * Word 3 = keyboard state (Shift, Alternate) ev_mmokstate
- * Word 4 = scan- and ascii-code ev_mkreturn
- */
- #define AV_SENDKEY 0x4710
-
- /* VA_START: Accessory will be activated (should be treated like
- * AC_OPEN). Word 3+4 contains an pointer to a commandline and
- * may be NULL. The commandline usually contains file and pathnames.
- */
- #define VA_START 0x4711
-
- /* AV_ASKFILEFONT: Asks for the font used in file windows.
- */
- #define AV_ASKFILEFONT 0x4712
-
- /* VA_FILEFONT: Returns the font used in file windows.
- * Word 3 = font number (font id)
- * Word 4 = font size (in points)
- */
- #define VA_FILEFONT 0x4713
-
- /* AV_ASKCONFONT: Asks for the font used in the console window.
- */
- #define AV_ASKCONFONT 0x4714
-
- /* VA_CONFONT: Returns the font used in the console window.
- * Word 3 = font number (font id)
- * Word 4 = font size (in points)
- */
- #define VA_CONFONT 0x4715
-
- /* AV_ASKOBJECT: Asks for the names of the selected objects. If
- * no object is selected, the empty string is returned. If more
- * than one obects is selected, the names are separated by spaces.
- */
- #define AV_ASKOBJECT 0x4716
-
- /* VA_OBJECT: Returns the name of the selected objects. Words 3+4
- * contain a pointer to the string.
- */
- #define VA_OBJECT 0x4717
-
- /* AV_OPENCONSOLE: Gemini should open the console window.
- * If it is already open, it is made the top window.
- * Should only be used if transparent to the user!
- */
- #define AV_OPENCONSOLE 0x4718
-
- /* VA_CONSOLEOPEN: Returns if the console window could be opended.
- * Word 3 == 0 (no) != 0 (yes)
- */
- #define VA_CONSOLEOPEN 0x4719
-
- /* AV_OPENWIND: The application should open a window. The path for
- * the window and a wildcard is given. Instead of opening a window
- * a program can also open the file selector with the given path
- * and wildcard.
- * Word 3+4 (Pointer) window path
- * Word 5+6 (Pointer) wildcard used to display files
- */
- #define AV_OPENWIND 0x4720
-
- /* VA_WINDOPEN: Returns if the window could be opened.
- * values as in VA_CONSOLEOPEN
- */
- #define VA_WINDOPEN 0x4721
-
- /* AV_STARTPROG: The main application should start a program.
- * Gemini/Venus also takes installed applications into accout.
- * So you can open any file with this message, Gemini will start
- * the proper application.
- * Word 3+4 (Pointer) filename (absolute path)
- * Word 5+6 (Pointer) commandline (maybe NULL)
- */
- #define AV_STARTPROG 0x4722
-
- /* VA_PROGSTART: Returns if the program could be started.
- * Word 3 == 0: no, != 0 yes
- */
- #define VA_PROGSTART 0x4723
-
- /* AV_ACCWINDOPEN: An accessory informs the application that it
- * has opened a window.
- * Word 3: AES-handle of the opened window.
- */
- #define AV_ACCWINDOPEN 0x4724
-
- /* VA_DRAGACCWIND: The application reports that someone has dragged
- * an object into the accessory window. Works only if the
- * application knows via AV_ACCWINDOPEN about this window
- * Word 3 AES-handle of the window
- * Word 4 X-position of mouse cursor
- * Word 5 Y-position of mouse cursor
- * Word 6+7 pointer to a string containing the names of the objects.
- */
- #define VA_DRAGACCWIND 0x4725
-
- /* AV_ACCWINDCLOSED: The accessory reports that it has closed a
- * window.
- * Word 3 AES-handle of the window
- */
- #define AV_ACCWINDCLOSED 0x4726
-
- #endif